home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
500 MB Nyheder Direkte fra Internet 2
/
500 MB nyheder direkte fra internet CD 2.iso
/
start
/
data
/
text
/
logo.txt
< prev
next >
Wrap
Text File
|
1994-09-21
|
46KB
|
979 lines
TURTLE GRAPHICS
Like BASIC, LOGO is a computer language. LOGO is better than
BASIC in three ways: by using LOGO, you can more easily create
graphics, build ``lists of lists'', and design your own computer
language (by adding your own words to LOGO). Let's see how!
I'll explain the best version of LOGO, then explain how other
versions differ.
To start using LOGO, put the LOGO disk into the computer, then
turn the computer on. The computer will say:
WELCOME TO LOGO
Differences Some versions of LOGO come on tapes or ROM
cartridges instead of disks. Some versions use a mouse and
require you to point at a LOGO icon.
Most versions of LOGO don't understand small letters; they
understand only capitals. If your computer has a CAPS LOCK key,
make sure it's pressed down.
To start Commodore LOGO, say:
LOAD "LOGO",8
RUN
To start the disk version of Radio Shack Color LOGO, say:
LOADM "LOGO"
EXEC
After Radio Shack Color LOGO says ``LOGO:'', tap the R key.
To use a version of LOGO called ``LOGO Writer'', use the
student disk that your teacher created from the master disk, or
use the TRY ME disk. Before using the TRY ME disk on an IBM PC,
do the following: insert the PC-DOS disk, turn on the computer,
type the date and time, insert the TRY ME disk, then type ___
A>logowrit
When you start using LOGO Writer, the top of the screen will
say CONTENTS. To continue beyond that point, press the ENTER key.
Showing the turtle
To draw pictures, you move a turtle across the screen. To see
the turtle, say SHOWTURTLE, like this:
SHOWTURTLE
SHOWTURTLE is all one word. Do not put a space between SHOW and
TURTLE.
LOGO lets you abbreviate most words. The abbreviation for
SHOWTURTLE is ST; so instead of typing SHOWTURTLE you can type
just ST, like this:
ST
After you say SHOWTURTLE (or ST), you'll see a turtle in the
center of your screen.
You can make the turtle either visible or invisible. To make it
invisible, say HIDETURTLE (or HT). To make it visible again, say
SHOWTURTLE (or ST) again.
Differences Many versions of LOGO put a question mark on the
screen and expect you to type a command after the question mark.
For example, to say SHOWTURTLE, type SHOWTURTLE after the
question mark, so your screen looks like this:
?SHOWTURTLE
Atari 800 LOGO shows a good picture of a turtle (including the
turtle's head, feet, tail, and shell), but most other versions of
LOGO show just the turtle's nose, which looks like an arrowhead.
LOGO Writer and Atari 800 LOGO require you to abbreviate. For
example, they require you to say ST instead of SHOWTURTLE.
Rotating the turtle
The screen acts as a map
of the turtle's desert. Since the desert's only occupant is the
turtle, the turtle's the only thing you see on the screen.
Like most maps, the
screen's a rectangle whose top edge is called north, bottom edge
is south, right edge is east, and left edge is west.
When you start using
LOGO, the turtle's at the screen's center. The turtle faces north
and stares at the screen's top edge.
As on a compass, north
is called 0 degrees, east is 90 degrees, south is 180 degrees,
and west is 270 degrees. To make the turtle face east, say
SETHEADING 90 (or SETH 90).
When typing that
command, you must press the SPACE bar before you type the 90.
That command makes the turtle rotate, so that it faces east.
The turtle can rotate to
any angle you wish. For example, to make the turtle face
northeast, say SETHEADING 45.
You can choose any angle
from 0 to 360. You can even choose decimals and negative numbers.
Experiment!
Rotating to the right In
LOGO, rotating clockwise is called ``rotating to the right''. To
make the turtle rotate to the right, 90 degrees, say RIGHT 90 (or
RT 90).
For example, if the
turtle is facing north, and you say RIGHT 90, the turtle will
face east. Then if you say RIGHT 90 again, the turtle will turn
clockwise 90 degrees more, so that the turtle will face south. If
you say RIGHT 90 again, the turtle will face west. If you say
RIGHT 90 again, the turtle will face north again.
Rotating to the left
Rotating counterclockwise is called ``rotating to the left''. To
make the turtle rotate to the left, 90 degrees, say LEFT 90 (or
LT 90).
Differences The
computer's RAM accurately handles decimals (such as 4.1 degrees),
but the screen shows just an approximation of what's in the RAM.
For most versions of LOGO, the screen shows the turtle's angle
rounded to the nearest 15 degrees; Radio Shack Color LOGO shows
the angle rounded to the nearest 45 degrees.
Moving the turtle
To make the turtle walk 50 steps in the direction it faces, say
FORWARD 50 (or FD 50).
For example, if the turtle faces east, and you say FORWARD 50,
the turtle will walk 50 steps east. If you then say FORWARD 50
again, the turtle will walk 50 steps farther east.
To make the turtle retreat 50 steps backwards, say BACK 50 (or
BK 50). For example, if the turtle faces east and you say BACK
50, the turtle will retreat 50 steps backwards: the turtle will
retreat to the west while still facing east.
The point at the screen's center is called home. That's where
the turtle's life began. To make the turtle return to its home
and its original heading (facing north), say HOME.
Setting the position To make the turtle hop to the point whose
coordinates are [30 70], say SETPOS [30 70].
That makes the turtle hop to the point that's 30 steps east and
70 steps north of home. The turtle hops there regardless of where
the turtle was before.
Hopping does not change the direction the turtle faces. For
example, if the turtle faced south before hopping, the turtle
still faces south after the hop, even if it's hopped north of
where it started.
Instead of saying SETPOS [30 70], you can say SETX 30 and then
SETY 70, like this:
SETX 30
SETY 70
The SETX 30 makes the turtle hop across the screen horizontally
east-west, until it reaches a point that's 30 steps further east
than home was. The SETY 70 makes the turtle hop vertically
north-south, until it reaches a point that's 70 steps further
north than home was.
The screen's edge When you try to move the turtle past the
screen's edge, what happens? The answer depends on which kind of
universe you create. You have three choices.
If you say FENCE, the computer erects a fence around the
desert, so that the turtle can't move past the screen's edge. If
you give the turtle a command that requires the turtle to go past
the fence, the turtle gripes, refuses to do the command at all,
and doesn't even walk up to the fence.
If you say WINDOW instead of FENCE, the computer lets the
turtle wander off the screen, to locations you can't see. Your
screen acts as a window, through which you see just part of the
turtle's universe.
If you say WRAP (instead of WINDOW or FENCE), moving the turtle
past the screen's edge makes the turtle take a quick trip around
the world. For example, if the turtle travels west, past the
screen's west edge, the turtle quickly travels around the world
and returns from the east. If the turtle travels north, past the
screen's top edge, the turtle quickly travels around the world
(past the north and south poles) and returns from the south.
When you start using LOGO, you automatically begin with a
WRAPped universe, but you can switch to a FENCE or WINDOW.
Leisure-time jogging
When the turtle isn't busy obeying your commands, how does it
spend its leisure time? Normally, the turtle just sits still. But
if you say SETSP 30, the turtle will spend all its leisure time
jogging at speed 30, in whatever direction the turtle is facing.
For example, suppose the
turtle is facing north, and you say SETSP 30. The turtle will jog
north, at speed 30. The turtle will keep jogging north, until you
give it another command. If you don't give another command soon,
it will reach the edge of the screen, and its further fate
depends on whether you said FENCE or WINDOW or WRAP.
While the turtle jogs,
if you tell it to change direction (by saying SETHEADING or RIGHT
or LEFT), it will continue jogging but in the new direction.
While the turtle jogs,
if you tell it to walk (by saying FORWARD, BACK, SETPOS, SETX, or
SETY), the turtle will walk where you said and then continue
jogging from that new location.
To stop the jogging, say
SETSP 0 (which sets the jogging speed to 0) or HOME (which makes
the turtle go home and rest there).
Differences Atari 800
LOGO understands SETSP, but most other versions of LOGO don't.
Some versions of LOGO don't understand FENCE. LOGO Writer lacks
SETSP, FENCE, WINDOW, WRAP, SETX, and SETY.
For MIT versions of LOGO
(such as Krell LOGO, Terrapin Apple LOGO, and Commodore LOGO),
change FENCE to NOWRAP, don't say WINDOW, and change SETPOS [30
70] to SETXY 30 70; if the second number in the SETXY command is
negative, put that number in parentheses. Radio Shack Color LOGO
resembles MIT versions but lacks some commands, such as SETXY.
Changing the pen
The turtle's belly has a
ball-point pen sticking out of it. While the turtle moves, the
pen scrapes along the ground and draws a line on the ground. That
line's called the turtle's trail. It appears on your screen,
since your screen's a map of what's on the ground. Even if you
make the turtle invisible (by saying HIDETURTLE), you'll still
see the turtle's trail.
If you say PENUP (or
PU), the turtle lifts its pen from the ground, so that the pen
stops drawing a trail. To put the pen back down on the ground
again, say PENDOWN (or PD).
Creating colors You can
change the pen's ink to a different color. To switch to color #2,
say SETPC 2. That makes the computer set the pencolor to 2.
Erasing You can replace
the pen by an eraser. To do that, say PENERASE (or PE). Then as
the turtle moves, it erases any ink on the ground. For example,
if you turn the turtle around and make it walk back along the
trail it created, it will erase the trail.
The eraser scrapes
across the ground until you lift it (by saying PENUP) or insert a
pen instead (by saying PENDOWN).
Reversing colors You can
replace the pen by a reverser. To do that, say PENREVERSE (or
PX). When you draw with the reverser on black ground, the ground
becomes white, when you draw on white ground, the ground becomes
black; when you draw on colored ground, the ground changes to the
opposite color.
The reverser works until
you lift it (by saying PENUP) or switch to a pen or eraser (by
saying PENDOWN or PENERASE).
Filling in the middle After you draw a polygon (such as a
triangle, rectangle, or octagon), you can fill in the middle. To
do so, lift the pen (by saying PENUP), then move the turtle to
somewhere in the middle of the polygon, then say PENDOWN, then
say FILL. The FILL command makes the pen leak, until the ink
fills the entire polygon.
Differences Instead of saying SETPC, LOGO Writer and Atari
800 LOGO say SETC; MIT versions say PC.
Instead of PENERASE, Commodore LOGO says PC -1; Krell and
Terrapin Apple LOGO say PC 0; Radio Shack Color LOGO says PC 3.
Instead of PENREVERSE, Krell and Terrapin Apple LOGO say PC 6.
Commodore LOGO and Radio Shack Color LOGO lack the concept.
Apple's colors are numbered from 0 to 5, IBM's and the Color
Computer's from 0 to 3, Commodore's and the Atari ST's from 0 to
15, and the Atari 800's from 0 to 127.
LOGO Writer, IBM LOGO, DR LOGO, and Atari ST LOGO understand
FILL, but most other versions don't.
Changing the background
The desert sand is called the turtle's background. The sand
appears a different color if you shine colored light at it. To
make the sand appear to have color #1, say SETBG 1. That makes
the computer set the background color to 1.
If you say CLEAN, a gust of wind blows all the sand around, so
that the sand covers all the trails that the turtle made, and the
screen is clean again: all that remains on the screen is the
turtle itself.
To erase everything you did and ``start over'', you could say
HOME (which makes the turtle return home and face north) and
CLEAN (which erases the turtle's trails). But instead of saying
HOME and then CLEAN, you can combine those two commands into this
single command: CLEARSCREEN (or CS).
If you say DOT [20 50], a drop of ink will fall from the sky
and land on the point whose coordinates are [20 50], so that you
see a dot of ink at that point.
Differences For LOGO Writer, change CLEARSCREEN to CG (which
means ``Clear the Graphics''); to clear the graphics and the rest
of the screen and make everything ``fresh'', say CT RG (which
means ``Clear the Text and Reset the Graphics''). For MIT
versions of LOGO, change CLEARSCREEN to DRAW, change CLEAN to
CLEARSCREEN, and change SETBG to BG. LOGO Writer, MIT versions,
and Atari 800 LOGO don't understand DOT.
Extra turtles
You can create several
turtles, called turtle 0, turtle 1, turtle 2, turtle 3, etc.
Normally, your commands are obeyed by just turtle 0.
To talk to turtle 1
instead, say TELL 1. That makes turtle 1 appear on the screen,
and all your future commands will be obeyed by turtle 1 instead
of turtle 0.
While turtle 1 obeys
your commands and prances around, turtle 0 will sit quietly
(unless you told it to jog, by saying SETSP 30).
To start talking to
turtle 0 again, say TELL 0. To talk to turtle 2, say TELL 2. To
talk to turtle 3, say TELL 3.
If you say TELL [0 1 2
3], you'll be talking to turtles 0, 1, 2, and 3 simultaneously.
Any commands you give will be obeyed by all those turtles.
Differences LOGO
Writer, Commodore LOGO, and Atari 800 LOGO understand TELL, but
most other versions of LOGO don't. LOGO Writer and Commodore LOGO
hide turtles 1, 2, and 3, until you make them appear by typing
ST.
In Commodore LOGO, TELL
must be followed by a single number, not a list of numbers; and
before saying TELL, you must feed the computer TELL's definition,
by putting the Utilities Disk in the drive and typing:
READ "SPRITES
Put the quotation mark before SPRITES but not afterwards.
Graphics versus text
Usually, the top of the
screen shows the map of the turtle's desert, and the bottom of
the screen shows the commands you've been typing. For example, if
you say SHOWTURTLE, the top of the screen shows the turtle, and
the bottom of the screen shows what you typed: the word
SHOWTURTLE.
If you want to devote
the entire screen to the map, say FULLSCREEN (or FS). Then the
map fills the entire screen, so that you see a larger portion of
the desert. Since the entire screen shows the map instead of your
typing, what you type will be invisible, until you return to the
normal setup (by typing MIXEDSCREEN or MS) or devote the entire
screen to your typing instead of a map (by saying TEXTSCREEN or
TS).
Differences For MIT
versions, change MIXEDSCREEN to SPLITSCREEN, and don't use the
abbreviations FS, MS, and TS. LOGO Writer always gives you a
mixed screen and won't let you change to fullscreen or
textscreen.
MATH
To make the computer print the answer to 5+2, say PRINT 5+2 (or
PR 5+2). The computer will print the answer:
7
Like BASIC, LOGO lets you use arithmetic symbols (+, -, *, and
/), negative numbers, decimals, E notation, and parentheses.
Differences For Apple LOGO 2, put a blank space before and
after the symbol /. LOGO Writer puts its answers at the top of
the screen and lacks E notation.
Square roots
SQRT 9 means ``the square root of 9''. So to print the square
root of 9, type this:
PR SQRT 9
The computer will print the answer:
3
If you say ___
PR SQRT 9+7
the computer will print the square root of 16, which is 4. If you
leave extra spaces, like this ___
PR SQRT 9 + 7
the computer will ignore the extra spaces: it will still print
the square root of 16, which is 4. If you say ___
PR (SQRT 9)+7
the computer will find the square root of 9, which is 3, and then
add 7, so it will print 10.
Differences LOGO Writer lacks SQRT.
Turtle numbers
To find out where the turtle is, say PR XCOR (which prints the
X coordinate) and PR YCOR (which prints the Y coordinate).
To slide the turtle 20 steps farther east, say SETX XCOR+20.
That says to increase the X coordinate by 20.
To slide the turtle 20 steps farther west instead, say SETX
XCOR-20. To slide the turtle 20 steps north, say SETY YCOR+20. To
slide the turtle 20 steps south, say SETY YCOR-20.
If you say PR HEADING, the computer will tell you which
direction the turtle's facing. For example, if the turtle's
facing east, the computer will print 90. The HEADING will always
be a number between 0 and 360.
If you say PR TOWARDS [30 70], the computer will tell you which
direction to turn the turtle, to make the turtle face the point
[30 70]. The direction will be a number between 0 and 360. To
actually turn the turtle in that direction, so that the turtle
faces the point [30 70], say SETHEADING TOWARDS [30 70]. So to
make the turtle ``walk 10 steps towards the point [30 70]'', say
this:
SETHEADING TOWARDS [30 70]
FORWARD 10
To find out the color of the ink in the turtle's pen, say PR
PENCOLOR (or PR PC); the computer will print the color's number.
To find out the color of the background sand, say PR BACKGROUND
(or PR BG).
To find out which turtle you're talking to, say PR WHO. The
computer will print the turtle's number.
Differences For MIT
versions, change PENCOLOR to LAST TS, change BACKGROUND to ITEM 3
TS, and omit the brackets after TOWARDS. For LOGO Writer, change
PENCOLOR to COLOR, change XCOR to FIRST POS, change YCOR to LAST
POS, and don't say TOWARDS.
Random numbers
If you say PR RANDOM 5,
the computer randomly chooses one of these 5 integers: 0, 1, 2,
3, 4. The computer prints the integer it chooses.
Rounding
If you say PR INT 3.9,
the computer will convert 3.9 to an INTeger by omitting
everything after the decimal point. The computer will print just
3.
If you say PR ROUND 3.9,
the computer will ROUND 3.9 to the nearest integer, which is 4.
The computer will print 4.
Differences For MIT
versions, change INT to INTEGER. LOGO Writer lacks INT and ROUND.
Fancy division
If you say PR 11/4, the
computer will divide 11 by 4 and print the answer, which is 2.75.
If you say PR QUOTIENT
11 4, the computer will divide 11 by 4 but ignore what comes
after the decimal point. The computer will print just 2.
If you say PR REMAINDER
11 4, the computer will divide 11 by 4, and realize that 4 goes
into 11 ``2 times, with a remainder of 3''. The computer will
print the remainder, 3.
Differences LOGO
Writer lacks QUOTIENT.
Trigonometry
To print the sine of 30
degrees, say PR SIN 30. To print the cosine of 30 degrees, say PR
COS 30.
Since the tangent is
``the sine divided by the cosine'', you can print the tangent of
30 degrees by saying PR (SIN 30)/COS 30.
The opposite of tangent
is arctangent. To print the arctangent of .58, say PR ARCTAN .58.
That makes the computer print how many degrees are in the angle
whose tangent is .58.
Differences LOGO
Writer and Atari 800 LOGO lack ARCTAN. For MIT versions, change
ARCTAN .58 to ARCTAN .58 1.
STRUCTURES
To make the computer print the word LOVE, type this:
PR "LOVE
In LOGO, a quotation mark means: the word. So that whole line
means: PRint the word LOVE.
Make sure you put the quotation mark before LOVE, but do not
put a quotation mark afterwards! That line is pronounced: P R
quotes LOVE.
When you press the ENTER key at the end of that line, the
computer will print:
LOVE
Lists
To print a list of words, put the list in brackets, like this:
PR [MA CAN'T LOOK]
That tells the computer to print a list of three words. The
first word is MA; the second is CAN'T; the third is LOOK.
The computer will print the list but won't bother to print the
brackets. The computer will print just:
MA CAN'T LOOK
If you say SHOW instead of PR, the computer will print the
brackets also, like this:
[MA CAN'T LOOK]
The computer understands FIRST, LAST, and similar concepts:
Function Meaning Result
FIRST [MA CAN'T LOOK]the list's first itemMA
LAST [MA CAN'T LOOK]the list's last itemLOOK
ITEM 2 [MA CAN'T LOOK]the list's 2nd itemCAN'T
COUNT [MA CAN'T LOOK]how many items 3
BUTFIRST [MA CAN'T LOOK]all but the first item[CAN'T LOOK]
BUTLAST [MA CAN'T LOOK]all but the last item[MA CAN'T]
FPUT "WOW [MA CAN'T LOOK]put WOW first[WOW MA CAN'T LOOK]
LPUT "WOW [MA CAN'T LOOK]put WOW last[MA CAN'T LOOK WOW]
WORD "WOW "MA combine words into long wordWOWMA
LIST "MA "CAN'T combine words to form a list[MA CAN'T]
SENTENCE [WOW MA] [CAN'T LOOK]combine lists[WOW MA CAN'T LOOK]
When you type those examples, begin each line by saying PR or
SHOW. For example, if you say ___
SHOW BUTFIRST [MA CAN'T LOOK]
the computer will say:
[CAN'T LOOK]
You can abbreviate BUTFIRST to BF, BUTLAST to BL, and SENTENCE
to SE.
A word's a list of characters. For example, the word FUN is a
list of three characters (F, U, and N). So all the list concepts
(such as FIRST, LAST, ITEM, and COUNT) apply to words also. For
example, if you say ___
SHOW BUTFIRST "FUN
or ___
PR BUTFIRST "FUN
the computer will say:
UN
Since FIRST [MA CAN'T LOOK] is MA, whose last character is A,
the computer knows that LAST FIRST [MA CAN'T LOOK] is A.
You can put lists inside lists. For example, since FIRST [[MA
PA] CAN'T LOOK] is [MA PA], whose last item is PA, the computer
knows that LAST FIRST [[MA PA] CAN'T LOOK] is PA.
Differences MIT versions don't understand SHOW. For Commodore
LOGO, change SHOW to FPRINT.
Atari 800 LOGO doesn't understand ITEM. Version 1 of Terrapin
Apple LOGO didn't understand ITEM and COUNT. Version 1 of Apple
LOGO could find an ITEM within a list of words but not within a
single word.
Multiple commands
You can put several LOGO commands on the same line.
For example, you can say:
FD 50 RT 90
When you press the ENTER key at the end of that line, the turtle
will go forward 50 and then turn right 90 degrees.
If you say ___
PR 5+2 PR 30+9.1
the computer will print the answers on separate lines:
7
39.1
If you say ___
PR [SKY IS BLUE] PR [SO ARE YOU]
the computer will print this poem:
SKY IS BLUE
SO ARE YOU
REPEAT
Let's make the turtle draw a square, so that each side is 50
steps long.
To do that, first make sure the turtle's pen is down, so that
the turtle will draw as it moves. To make sure the pen's down,
you can say PENDOWN (or PD).
To make the turtle draw the first side, say FORWARD 50 (or FD
50). Then tell the turtle to turn right 90 degrees, by saying
RIGHT 90 or RT 90. Draw the second side, by saying FD 50 again.
Then tell the turtle to turn right 90 degrees again, etc.
Altogether, these commands make the turtle draw all four sides
of the square:
FD 50 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50 RT 90
But instead of typing all that, you can type this short cut:
REPEAT 4 [FD 50 RT 90]
That makes the computer REPEAT, 4 times, the act of going forward
50 and turning right 90 degrees.
Let's make the computer print the word WOW, twenty times.
Here's how:
REPEAT 20 [PR "WOW]
The computer will print the words on separate lines, like this:
WOW
WOW
WOW
etc.
Here's how to make the computer say FRANCE IS FUNNY, twenty
times:
REPEAT 20 [PR [FRANCE IS FUNNY]]
Variables
You can MAKE a word
stand for something. To make the word DRINKINGAGE stand for 21,
type this:
MAKE "DRINKINGAGE 21
In that line, DRINKINGAGE is called the variable or the name; 21
is called DRINKINGAGE's value or the thing that DRINKINGAGE
stands for.
After you type that
line, you can say:
PR THING "DRINKINGAGE
That makes the computer print the THING that DRINKINGAGE stands
for. The computer will print:
21
Instead of typing THING
and then a quotation mark, you can type just a colon, like this:
PR :DRINKINGAGE
That means: PRint the thing that DRINKINGAGE stands for. It
means: PRINT the value of DRINKINGAGE. The computer will print:
21
LOGO programmers have a
nickname for the colon: they call it dots. So the statement ___
PR :DRINKINGAGE
is pronounced: P R dots DRINKINGAGE.
Here's another example:
MAKE "MAGICNUMBER 7
PR :MAGICNUMBER+2
The first line makes the word MAGICNUMBER stand for 7. The next
line says to print the value of the MAGICNUMBER, plus 2. The
computer will print 9.
A word can stand for
anything; it can even stand for a list. For example, you can say:
MAKE "STOOGES [MOE LARRY CURLEY]
PR COUNT :STOOGES
The first line says the word STOOGES stands for the list [MOE
LARRY CURLEY]. The next line makes the computer print the COUNT
of how many items are in that list; the computer will print:
3
Here's the rule: to
define a word, say MAKE and type a quotation mark; to use the
word's value, type a colon instead.
PROGRAMS
To teach the computer what the word SQUARE means, type this:
TO SQUARE
REPEAT 4 [FD 50 RT 90]
END
The first line means: here's how TO do a SQUARE. The next line
gives the definition itself: repeat 4 times the act of going
forward 50 steps and turning right 90 degrees. The bottom line of
every definition says END.
Those three lines form the definition of SQUARE. They're also
called the program for square, and the procedure for how to do a
SQUARE.
After you type those three lines, the computer will know the
meaning of SQUARE. So in the future, whenever you say ___
SQUARE
the turtle will draw a square.
Differences Before you type the word TO, LOGO Writer requires
you to tap the F key while holding down the CONTROL key (on the
IBM) or Open Apple key (on the Apple); Radio Shack Color LOGO
requires you to tap the BREAK key, then tap the CLEAR key while
holding down the SHIFT key, then tap the E key.
Many versions of LOGO automatically put the symbol ``>'' at the
beginning of each line of the definition.
After you type the word END, some versions of LOGO require you
to tap an extra key or two: for LOGO Writer, tap the F key while
holding down the CONTROL key (IBM) or Open Apple key (Apple); for
Commodore LOGO, tap the RUN STOP key; for Krell and Terrapin
Apple LOGO, tap the C key while holding down the CONTROL key; for
Radio Shack Color LOGO, tap the BREAK key then the R key.
Pinwheel
If you draw a square, then rotate 10 degrees, then draw another
square, you get this:
Suppose you continue that process: draw a square, then rotate
10 degrees, then draw another square, then rotate 10 degrees
again, then draw another square, then rotate 10 degrees again,
etc. You'll get this pinwheel:
Let's define PINWHEEL to be that shape. Here's how:
TO PINWHEEL
REPEAT 36 [SQUARE RT 10]
END
Rebuke
Let's define REBUKE to
be this message:
YOU LOOK TERRIF!
YOU DRESS SO SPIFF!
YOU ACT SO COOL!
YOU MAKE ME DROOL!
BUT YOU'RE A FOOL!
YOU'RE FAILING SCHOOL!
YOU'RE REALLY DUMB!
A FIRST - CLASS BUM!
SO GET YOUR MIND
OFF ITS BEHIND,
AND YOU WILL FIND
YOU'RE ONE - OF - A - KIND!
Here's how:
TO REBUKE
PR [YOU LOOK TERRIF!]
PR [YOU DRESS SO SPIFF!]
PR [YOU ACT SO COOL!]
PR [YOU MAKE ME DROOL!]
PR []
PR [BUT YOU'RE A FOOL!]
PR [YOU'RE FAILING SCHOOL!]
PR [YOU'RE REALLY DUMB!]
PR [A FIRST - CLASS BUM!]
PR []
PR [SO GET YOUR MIND]
PR [OFF ITS BEHIND,]
PR [AND YOU WILL FIND]
PR [YOU'RE ONE - OF - A - KIND!
END
Then whenever you say ___
REBUKE
the computer will print the poem. (To see the whole poem on the
screen at once, say TEXTSCREEN before saying REBUKE.)
To have fun, say that
poem out loud in a jive rap style, and clap your hands twice at
the end of each line.
EDIT
After you've defined a word (such as REBUKE), you can EDIT that
definition by saying ___
EDIT "REBUKE
The computer will put your definition on the screen and let you
edit that definition, by using the arrow keys and the other edit
keys. When you've finished editing the definition, tap the ESCAPE
key.
If you say EDIT [REBUKE PINWHEEL], the computer will put both
definitions on the screen simultaneously and let you edit them
both. When you've finished editing them, tap the ESCAPE key.
If you say just EDIT, the screen will show what you edited last
time, so you can edit it again.
The abbreviation for EDIT is ED.
Differences While editing, experiment! Try tapping the arrow
keys, ENTER key, RETURN key, BACKSPACE key, DELETE key, INSERT
key, CONTROL key, and any other edit keys on your keyboard. When
using LOGO, those keys act the same as when using most word
processors.
On old Apples that lack up-arrow, down-arrow, and DELETE keys,
do this: to move up to the Previous line, tap the P key while
holding down the CONTROL key; to delete the Next line, tap the N
key while holding down the CONTROL key; to delete the character
left of the cursor, tap the ESCAPE key; if you have Apple LOGO 1
and want to move Back to the left, tap the B key while holding
down the CONTROL key.
For MIT versions, omit the quotation mark after EDIT.
Instead of tapping the ESCAPE key, do the following: for MIT
versions and Apple LOGO 1, tap the C key while holding down the
CONTROL key; for Apple LOGO 2, tap the A key while holding down
the open-Apple key.
For LOGO Writer and Radio Shack Color LOGO, instead of saying
EDIT, follow the procedure for saying TO.
Flexible definitions
Let's change the definition of SQUARE, to make it more
flexible. Let's define SQUARE so that SQUARE 50 will be a square
that's 50 steps long on each side, and SQUARE 100 will be a
square that's 100 steps long on each side, and SQUARE 6 will be a
square that's 6 steps long on each side, etc.
To do all that, edit the definition of SQUARE by saying:
EDIT "SQUARE
The computer will show our old definition of SQUARE:
TO SQUARE
REPEAT 4 [FD 50 RT 90]
END
Using the arrow keys, insert :SIDE after SQUARE, and change the
50 to :SIDE, so that the definition looks like this:
TO SQUARE
REPEAT 4 [FD :SIDE RT 90]
END
When you've finished the editing, press the ESCAPE key.
Then if you say ___
SQUARE 100
the computer will look at the new definition of SQUARE, realize
that :SIDE is 100, and do REPEAT 4 [FD 100 RT 90], which draws a
square having 100 steps on each side.
After changing the definition of SQUARE in that way, you must
always put a number after the word SQUARE. If you say SQUARE 100,
the computer will draw a square whose side is 100; if you say
SQUARE 6, the computer will draw a square whose side is 6; but if
you say just SQUARE, the computer won't know how long to make the
side and will gripe, by saying NOT ENOUGH INPUTS TO SQUARE.
After changing the definition of SQUARE, you must update the
definition of PINWHEEL, so that it uses the new definition of
SQUARE. Edit PINWHEEL so that it becomes:
TO PINWHEEL :SIDE
REPEAT 36 [SQUARE :SIDE RT 10]
END
Then if you say PINWHEEL 50, the computer will draw a normal
pinwheel; if you say PINWHEEL 100, the computer will draw a
pinwheel that's twice as long in each direction; if you say
PINWHEEL 30, the computer will draw a pinwheel that's small.
Polygon
Let's define POLYGON so
that POLYGON 5 40 will be a regular polygon having 5 sides, and
each side will be 40 steps long.
Here's how:
TO POLYGON :N :SIDE
REPEAT :N [FD :SIDE RT 360/:N]
END
In that definition, :N
is the number of sides (such as 5), and :SIDE is the length of
each side (such as 40).
That definition will
draw any regular polygon. For example, if you want a triangle so
that each side is 60 steps long, say POLYGON 3 70. If you want an
octagon so that each side is 20 steps long, say POLYGON 8 20.
If you pick a large
number of sides (such as 36), the polygon will look almost like a
circle. That's how you can make LOGO imitate a circle!
Star
Let's define STAR so
that STAR 5 40 will be a 5-pointed star, and each side will be 40
steps long.
The definition is almost
the same as POLYGON's:
TO STAR :N :SIDE
REPEAT :N [FD :SIDE RT 360/:N FD :SIDE LT 720/:N]
END
That definition makes
the turtle start drawing a polygon, by drawing a polygon's first
side (FD :SIDE), then turning right by the polygon's angle (RT
360/:N), then drawing the polygon's second side (FD :SIDE). But
then the turtle veers sharply to the left (LT 720/:N). Repeating
that procedure :N times produces a star:
Choose as many points as
you wish. For a 5-pointed star, say STAR 5 40. For a 6-pointed
star (a ``Jewish star''), say STAR 6 40. For an 8-pointed star
that's smaller and has just 20 steps per side, say STAR 8 20.
Recursion
Here's a poem about LOGO lovers:
LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!
Let's program the computer so that when you say LOVERS, the
computer will print that poem again and again, forever, like
this:
LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!
LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!
LOGO LOVERS LOOK LOVELY!
LINGERING LINES, LONGINGLY LEFT!
etc.
Type this:
TO LOVERS
PR [LOGO LOVERS LOOK LOVELY!]
PR [LINGERING LINES, LONGINGLY LEFT!]
PR []
LOVERS
END
The three PR statements make the computer print the poem and a
blank line underneath. The bottom line says END; but above the
word END, I inserted the word LOVERS, which makes the computer do
LOVERS again, so the computer again prints the poem and blank
line and comes to the LOVERS line again, so the computer again
prints the poem and blank line and comes to the LOVERS line
again, etc. The program's an infinite loop.
After you type that definition of LOVERS, you can activate it
by saying just LOVERS or ___ better yet ___ say TEXTSCREEN and
then LOVERS.
To abort the program, press the BREAK key.
Notice I inserted the word LOVERS into the definition of
LOVERS, so that LOVERS is defined in terms of itself. That's
called a self-referent definition or circular definition or
recursive definition. Using recursive definitions is called
recursion. In LOGO, recursion's the usual way to create loops.
Differences Atari 800 LOGO and Radio Shack Color LOGO let you
abort by tapping the BREAK key, but most other versions of LOGO
abort differently. For IBM LOGO, tap the BREAK key while holding
down the CONTROL key. For LOGO Writer, tap the ESCAPE key. For
Apple LOGO 2, tap the ESCAPE key while holding down the Open
Apple key. For Apple LOGO 1, Atari ST LOGO, DR LOGO, and MIT
versions, tap the G key while holding down the CONTROL key.
Countdown
Let's program the
computer so that COUNTDOWN 10 will make the computer count down
from 10, like this:
10
9
8
7
etc.
Here's the definition:
TO COUNTDOWN :N
PR :N
COUNTDOWN :N-1
END
To count down from a number N, that definition tells the computer
to print the number N and then count down from N-1.
Unfortunately, that
definition's an infinite loop! For example, if you say COUNTDOWN
10, that definition will make the computer print 10, 9, 8, 7, 6,
5, 4, 3, 2, 1, 0, -1, -2, -3, -4, etc., forever!
Let's edit that
definition, to STOP the computer from printing negative numbers.
Say:
EDIT "COUNTDOWN
Then use the arrow keys, to change the definition of COUNTDOWN to
this:
TO COUNTDOWN :N
IF :N<0 [STOP]
PR :N
COUNTDOWN :N-1
END
Differences For MIT
versions, omit the brackets around STOP.
Squiral
Let's make the computer
draw the first side of a square (by saying FD :SIDE), then turn
right 90 degrees (by saying RT 90), then draw the second side ___
but make the second side shorter than the first! Then make the
third side even shorter! Then make the fourth side even shorter!
The result will be a
``shrinking square'' whose fourth side doesn't meet the first
side. It looks something like a square, but it spirals inward,
becoming smaller. It's called a squiral.
To create an amazing
squiral, feed the computer this definition:
TO SQUIRAL :SIDE
FD :SIDE
RT 90
SQUIRAL :SIDE-3
END
That program's an infinite loop. The side becomes smaller and
smaller (decreasing by 3 each time), until finally the side
becomes a negative number, which makes the turtle go wild and
draw fascinating weird graphics on the screen.
Feed the computer that
definition. Then for the most dramatic results, feed the computer
this definition ___
TO DRAMATICSQUIRAL
WRAP
PENREVERSE
FULLSCREEN
SQUIRAL 100
END
and type:
DRAMATICSQUIRAL
WORKSPACE
When you invent a definition, the computer puts it into a part
of the RAM called the workspace. The workspace holds your
definitions of names (such as MAKE "DRINKINGAGE 21) and your
definitions of procedures (such as TO SQUARE do REPEAT 4 [FD 50
RT 90] then END).
Printouts
To see all those definitions on your screen, say TEXTSCREEN, so
that the computer can use the entire screen for text; then say
POALL, which means Print Out ALL. The computer will print out all
the definitions. For example, if you defined the name DRINKINGAGE
and then MAGICNUMBER, and then defined the procedure SQUARE :SIDE
and then PINWHEEL :SIDE, the computer will print all those
definitions, like this:
TO PINWHEEL :SIDE
REPEAT 36 [SQUARE :SIDE RT 10]
SQUARE
END
TO SQUARE :SIDE
REPEAT 4 [FD :SIDE RT 90]
END
MAKE "MAGICNUMBER 7
MAKE "DRINKINGAGE 21
The computer begins with the newest procedure (PINWHEEL), then
any other procedures (such as SQUARE), then the newest name
(MAGICNUMBER), then any other names (such as DRINKINGAGE).
If you don't want to see all that, you can ask for an
abridgment. To see definitions of just the procedures (PINWHEEL
and SQUARE), say POPS, which means Print Out ProcedureS. To see
definitions of just the names (MAGICNUMBER and DRINKINGAGE), say
PONS, which means Print Out NameS.
To see just the top line of each procedure, say POTS, which
means Print out TopS or Print Out TitleS; the computer will
print:
TO PINWHEEL :SIDE
TO SQUARE :SIDE
To see the definition of just the SQUARE procedure, say PO
"SQUARE. That makes the computer print the definition of SQUARE
:SIDE. To see that definition first, then the definition of
PINWHEEL, say PO [SQUARE PINWHEEL].
Differences LOGO Writer doesn't understand any of those
commands; instead, tap the F key while holding down the CONTROL
or Open Apple key, then browse through all the procedures you
created, by pressing the up-arrow and down-arrow keys.
For MIT versions, change POALL to PO ALL, change POPS to PO
PROCEDURES, change PONS to PO NAMES, change POTS to PO TITLES,
and change PO "SQUARE to PO SQUARE.
Erasing the definitions
If you no longer need
the definitions you invented, you can erase them.
To ERase ALL the
definitions, say ERALL. To ERase just the definitions of
ProcedureS (such as PINWHEEL and SQUARE), say ERPS. To ERase just
the definitions of NameS (such as MAGICNUMBER and DRINKINGAGE),
say ERNS.
To ERASE just the
definition of the PINWHEEL procedure, say:
ERASE "PINWHEEL
The abbreviation for ERASE is ER.
To ERase just the
definition of the Name MAGICNUMBER, say ERN "MAGICNUMBER.
Differences LOGO
Writer doesn't understand any of those commands; instead, get
onto the screen the procedures you want to erase, then erase them
by holding down the DELETE or BACKSPACE key.
For MIT versions, change
ERALL to ER ALL, change ERPS to ER PROCEDURES, change ERNS to ER
NAMES, change ERASE "PINWHEEL to ERASE PINWHEEL, and change ERN
to ERNAME.
Saving to disk
After you've formatted a
blank disk (by using DOS or BASIC or some other method), you can
put that disk into the drive and copy all your definitions onto
the disk. Here's how.
Invent a filename (such
as FRED) and say SAVE "FRED. On the disk, the computer will
create a new file called FRED and copy all your definitions to
FRED.
Later, whenever you want
to use FRED, just say LOAD "FRED. The computer will go to the
disk, find FRED, and copy FRED's definitions to the RAM, so you
can use them.
To see a list of all the
LOGO files on your disk, say CATALOG.
To delete FRED from the
disk, say ERASEFILE "FRED.
Differences For MIT
versions, change LOAD to READ. For IBM LOGO, DR LOGO, and Atari
ST LOGO, change CATALOG to DIR. For LOGO Writer, change ERASEFILE
to ERPAGE, change LOAD to GETPAGE (or GP), change CATALOG to PR
PAGELIST, and change SAVE "FRED to NAMEPAGE "FRED NEWPAGE (or NP
"FRED NEWPAGE). For the Atari 800, change ERASEFILE to ERF,
change "FRED to "D:FRED, and change CATALOG to CATALOG "D:.